一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目!
大家好,我是TJ
一个励志推荐10000款开源项目与工具的程序员
大家好,我是TJ
wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,目的是让中国的 Maker 和 Hacker 们也能快速打造个性化的智能音箱。
wukong-robot 还可能是第一个开源的支持脑机唤醒的智能音箱。
特性
模块化。功能插件、语音识别、语音合成、对话机器人都做到了高度模块化,第三方插件单独维护,方便继承和开发自己的插件。
中文支持。集成百度、科大讯飞、阿里、腾讯等多家中文语音识别和语音合成技术,且可以继续扩展。
对话机器人支持。支持基于 AnyQ 的本地对话机器人,并支持接入图灵机器人、OpenAI GPT3 等在线对话机器人。
全局监听,离线唤醒。支持 Porcupine 和 snowboy 两套离线语音指令唤醒引擎,并支持 Muse 脑机唤醒 以及行空板摇一摇唤醒等其他唤醒方式。
灵活可配置。支持定制机器人名字,支持选择语音识别和合成的插件。
智能家居。支持和 mqtt、HomeAssistant 等智能家居协议联动,支持语音控制智能家电。
后台配套支持。提供配套后台,可实现远程操控、修改配置和日志查看等功能。
开放API。可利用后端开放的API,实现更丰富的功能。
安装简单,支持更多平台。相比 dingdang-robot ,舍弃了 PocketSphinx 的离线唤醒方案,安装变得更加简单,代码量更少,更易于维护并且能在 Mac 以及更多 Linux 系统中运行。
工作机制
wukong-robot 的工作机制如下:
wukong-robot 被唤醒后,用户的语音指令先经过 ASR 引擎进行 ASR 识别成文本;
之后,wukong-robot 会对识别到的文本进行语义理解(NLU),得到解析结果;
轮询每个可用插件,进行技能匹配,交给适合处理该指令的技能插件去处理。
插件处理过程中,还可以根据需要使用 TTS 引擎合成成语音,播放给用户。
在第 3 步中,插件的轮询机制如下:
在初始化阶段,依次扫描
plugins
目录、$HOME/.wukong/contrib
目录和$HOME/.wukong/custom
目录下的可用插件。可用插件的判定标准为:
包含一个继承了
AbstractPlugin
基类的Plugin
类;在配置文件中没有将这个插件的
enable
设为false
。
在扫描过程中,如果存在插件设置了
PRIORITY
属性,则对其优先级进行重排。默认都为 0,PRIORITY
值设得越大,则优先级越高。在轮询过程中,wukong-robot 会根据优先级逐个执行插件的
isValid()
方法,如果值为True
,则调用该插件的handle()
方法进入处理。
功能演示
如果您对项目该兴趣,可以通过下方地址直达开源项目或官方网站
项目地址:https://github.com/wzpan/wukong-robot/
官方网站:https://wukong.hahack.com/
在官方文档中有对应的一下Demo视频,可以帮助您快速了解该项目的能力,看是否是你正在研究的内容。
往期推荐
点击下方卡片,关注公众号“TJ君”
每天了解一个牛x、好用、有趣的东东